x11: Do not misdetect mice with abs axes as touchscreens
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 13 Nov 2015 16:14:34 +0000 (17:14 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 15 Nov 2015 04:45:46 +0000 (23:45 -0500)
VMWare seems to create mouse devices with abs axes which confuses
our detection of single-touch touchscreens. Those have though a
name we can match on ("VirtualPS/2 VMware VMMouse"), it should
be pretty safe to assume that no real touchscreens have "mouse"
in their name...

https://bugzilla.gnome.org/show_bug.cgi?id=757358

gdk/x11/gdkdevicemanager-xi2.c

index dc35f0310e1427ed3fddaf5758de54f44288d1d7..4be9bbb7c2dc6a6295486e0c6dc67b12314427c9 100644 (file)
@@ -426,7 +426,8 @@ create_device (GdkDeviceManager *device_manager,
       else if (strstr (tmp_name, "wacom") ||
                strstr (tmp_name, "pen"))
         input_source = GDK_SOURCE_PEN;
-      else if (has_abs_axes (display, dev->classes, dev->num_classes))
+      else if (!strstr (tmp_name, "mouse") &&
+               has_abs_axes (display, dev->classes, dev->num_classes))
         input_source = GDK_SOURCE_TOUCHSCREEN;
       else
         input_source = GDK_SOURCE_MOUSE;